let arr = [1, 2, 3, 4]
let str = 'hello'
let it = arr[Symbol.iterator]()
console.log(it.next())
console.log(it.next())
console.log(it.next())
console.log(it.next())
console.log(it.next())
console.log(arr)
console.log(str)

let grade = {
    grade: {
        zs: [78, 80, 90],
        ls: [90, 100, 80],
        cw: [100, 60, 70]
    }

}
grade[Symbol.iterator] = function () {
    let arr = []
    let grade2 = grade.grade
    let keys = Reflect.ownKeys(grade2)
    keys.forEach(key => {
        for (let v of grade2[key]) {
            arr.push(v)
        }
    })
    return {
        next() {
            return {
                done: !arr.length,
                value: arr.shift()
            }
        }
    }
}
it = grade[Symbol.iterator]()
console.log(it.next())
for (let key of grade) {
    console.log(key)
}